Ramy (Netscape 2.0)

Ramy rozszerzaj¹ elastycznoœæ prezentacyjn¹ przegl¹darki, dziêki mo¿liwoœci podzia³u jej g³ównego okna na kilka niezale¿nie funkcjonuj¹cych obszarów. Ka¿dy z nich ma przydzielony w³asny adres URL oraz nazwê, dziêki której wybrana rama mo¿e byæ identyfikowana przez inne elementy i mo¿e dzia³aæ jak normalne okno dokumentu HTML. Ponadto istnieje mo¿liwoœæ interakcyjnej zmiany rozmiarów ram, dziêki odpowiednim suwakom przemieszczanym za pomoc¹ myszy bezpoœrednio przez czytelnika.

G³ównymi ogranicznikami elementu definiuj¹cego ramy s¹ <FRAMESET>...</FRAMESET>. Zwykle u¿ywa siê ich zamiast elementu <BODY>...</BODY>. Gdy umieœcimy pomiêdzy nimi tekst lub inne obiekty HTML ograniczone dodatkowo etykietami <NOFRAME>...</NOFRAME>, da to nam mo¿liwoœæ ostrze¿enia u¿ytkownika o braku mo¿liwoœci skorzystania z ram (gdy przegl¹darka nie bêdzie wyposa¿ona w mechanizmy ich obs³ugi). Oto przyk³ad:

<HTML>
<HEAD>
</HEAD>
<FRAMESET>
<--! Tu definiowane s¹ elementy ramy --!> 
<NOFRAME>
Niestety twoja przegl¹darka nie potrafi wyœwietlaæ ram
</NOFRAME>
</FRAMESET>
</HTML>

Element <FRAMESET> mo¿e posiadaæ dwa atrybuty: ROWS oraz COLS, które s¹ odpowiedzialne za podzia³ okna ekranu na czêœci. Mo¿na im przydzielaæ wiele wartoœci oddzielonych przecinkiem. Ka¿da z nich wyznacza odpowiednio nowy wiersz (ROWS) lub now¹ kolumnê (COLS). Mog¹ one reprezentowaæ liczbê pikseli, procent szerokoœci lub d³ugoœci okna ekranu (format n%). Mo¿na tu równie¿ stosowaæ specjaln¹ wartoœæ wzglêdn¹ o formacie n* (lub po prostu *). Ta ostatnia przydziela danej kolumnie lub wierszowi tyle miejsca, ile jeszcze pozosta³o po zdefiniowaniu wierszy lub pozosta³ych kolumn. Na przyk³ad:

<FRAMESET COLS=20%, 60%, 20%> <--! podzia³ na trzy kolumny o stosunku 20/60/20 !-->
<FRAMESET COLS=20%, *, 20%> <--! inny podzia³ na trzy kolumny o stosunku 20/60/20 !-->

Gdy zastosujemy obok siebie kilka wartoœci wzglêdnych, to umieszczane przed nimi cyfry okreœlaj¹, ile razy wiêksza powinna byæ szerokoœæ kolumny lub wysokoœæ wiersza w stosunku do innych wartoœci. Ilustruje to poni¿szy przyk³ad:

<FRAMESET COLS=*, 3*, *> <--! jeszcze inny podzia³ na trzy kolumny o stosunku 20/60/20 !-->

Nale¿y w tym momencie nadmieniæ, ¿e przypadku ustalania szerokoœci kolumn ca³kowita suma ich rozmiarów mo¿e byæ wiêksza od rzeczywistej szerokoœci ekranu (dla wierszy jest to niedozwolone).

Gdy ju¿ podzielimy ekran na mniejsze okna, wypada³oby w ka¿dym z nich coœ umieœciæ. Do tego celu s³u¿y deklaracja <FRAME>. Znany ju¿ nam atrybut SRC zapewnia skojarzenie okna ramy z wybranym dokumentem. Aby swobodnie identyfikowaæ okno ramy, nale¿y u¿yæ atrybut NAME. Oto przyk³ad:

<FRAME NAME=rama_pierwsza SCR=dokument1.htm>

Gdy zapragniemy, aby dokument wywo³ywany za pomoc¹ opisywanego ju¿ elementu <A> znalaz³ siê bezpoœrednio w wybranym oknie ramy, nale¿y dodatkowo u¿yæ dla niego atrybutu TARGET (patrz opis elementu <A>).

Bardzo wygodna wydaje siê równie¿ mo¿liwoœæ zagnie¿d¿ania ram, czyli ponowne wprowadzanie pomiêdzy <FRAMESET> a </FRAMESET> nowej, takiej samej deklaracji (naturalnie o innej treœci). Pozwala to na umieszczanie w dokumencie ram, w których kolumny mog¹ posiadaæ ró¿n¹ liczbê wierszy. Przyk³ad:

<FRAMESET COLS="50%,50%"> 
<FRAMESET ROWS="50%,50%"> 
<FRAME SRC="dok1.html"> 
<FRAME SRC="dok2.html"> 
</FRAMESET> 
<FRAMESET ROWS="33%,33%,33%"> 
<FRAME SRC="dok3.html"> 
<FRAME SRC="dok4.html"> 
<FRAME SRC="dok5.html"> 
</FRAMESET> 
</FRAMESET>

Na koniec podamy jeszcze kilka atrybutów elementu <FRAME>, okreœlaj¹cych dok³adniej sposób przedstawiania i zachowania siê ram. Oto ich lista:

Zastosowanie ram mo¿e byæ ró¿norakie. Na wiêkszoœci stron WWW mog¹ siê znajdowaæ tzw. toolbars, czyli pewnego rodzaju graficzne menu, pozwalaj¹ce wywo³ywaæ ró¿ne dokumenty. Zwykle jednak na koñcu strony za ka¿dym razem pojawia siê identyczne menu które s³u¿y po to, by przejœæ bezpoœrednio do innych opcji. Stosuj¹c ramy, wystarczy podzieliæ ekran na dwie czêœci: górn¹, w której prezentowane bêd¹ kolejne dokumenty i doln¹ - statyczn¹, w której ca³y czas bêdzie siê znajdowa³ toolbar dostêpny dla czytelnika w ka¿dej chwili.

Dokumenty, bêd¹ce spisami treœci, mog¹ byæ równie¿ wyœwietlane za pomoc¹ ram. Najlepiej bêdzie, jak umieœci siê je w wê¿szej ramie po lewej stronie. Sama treœæ zaœ bêdzie siê pojawia³a po stronie prawej.

Innym przyk³adem mog¹ byæ formularze wyszukuj¹ce informacje. Po jakimœ czasie ci¹g³e przechodzenie z formularza zapytañ do dokumentów z wynikami mo¿e siê staæ denerwuj¹ce. Za pomoc¹ ram mo¿na po³¹czyæ oba okna, wpisuj¹c na przyk³ad poszukiwany wyraz w ramie górnej, wyniki mo¿emy wówczas ogl¹daæ w ramie dolnej.

Przyk³ad ram (frames) stosowanych na serwerze firmy Netscape Communications